package com.tabnet.dao;

import java.util.Map;

import com.tabnet.beans.produit.Option;
import com.tabnet.beans.produit.ProduitCMD;

public interface DAOOptionCMD {

	/**
	 * <p>Procédure getOptions<br />
	 * Recupere les options d'un produit commander</p>
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 * @return Map<String, Accessoire>
	 */
	public Map<String, Option> getOptions(int pIdProduitCMD) throws DAOException;
	
	/**
	 * <p>Procédure addOption<br />
	 * Option à inserer dans la table OptionCMD</p>
	 * @param pOption : un objet Option
	 * @throws DAOException
	 */
	public void addOption(Option pOption) throws DAOException;
	
	/**
	 * <p>Procédure addOptions<br />
	 * Lie les options au produit passé en paramètre</p>
	 * @param pProduitCMD : un produit commander
	 * @throws DAOException
	 */
	public void addOptions(ProduitCMD pProduitCMD) throws DAOException;

	/**
	 * <p>Procédure delOption<br />
	 * Supprime l'option passe en parametre d'un produit commander</p>
	 * @param pRefOption : la référence d'une option
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 */
	public void delOption(String pRefOption, int pIdProduitCMD) throws DAOException;
	

	/**
	 * <p>Procédure delOptions<br />
	 * Supprime toutes les options d'un produit commander</p>
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 */
	public void delOptions(int pIdProduitCMD) throws DAOException;
}
